/*
 * Especializacao em Engenharia de Software
 * Projeto e Implementacao Orientado a Objetos
 * Projeto SGCT - Grupo 5 
 */
package inf319.sgct;

/**
 * Esta classe representa todos os usuarios que utilizarao o sistema SGCT.
 */
abstract class Usuario
{
    private static int contNumInscricao = 1;
    private int numInscricao;
    private int cpf;
    private String nome;
    private String endereco;
    private String email;
    private String login;
    private String senha;

    /**
     * Construtor usado para criacao de um novo Usuario.
     */
    public Usuario(int cpf, String nome, String endereco, String email,
        String login, String senha) {
        this.numInscricao = contNumInscricao++;
        this.cpf = cpf;
        this.nome = nome;
        this.endereco = endereco;
        this.email = email;
        this.login = login;
        this.senha = senha;
    }

    /**
     * Retorna uma representacao textual deste Usuario.
     */
    public String toSring() {
        StringBuilder builder = new StringBuilder();
        builder.append("Usuario numero: " + numInscricao);
        builder.append("\nNome: " + nome);
        builder.append("\nEndereco: " + endereco);
        builder.append("\nEmail: " + email);
        return builder.toString();
    }

    /*--*--*-- Getters e Setters --*--*--*/

    public int getNumInscricao() {
        return numInscricao;
    }

    public int getCpf() {
        return cpf;
    }

    public void setCpf(int cpf) {
        this.cpf = cpf;
    }

    public String getNome() {
        return nome;
    }

    public void setNome(String nome) {
        this.nome = nome;
    }

    public String getEndereco() {
        return endereco;
    }

    public void setEndereco(String endereco) {
        this.endereco = endereco;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public String getLogin() {
        return login;
    }

    public void setLogin(String login) {
        this.login = login;
    }

    public String getSenha() {
        return senha;
    }

    public void setSenha(String senha) {
        this.senha = senha;
    }
}
